# -*- coding: utf-8 -*-
import json,os
from jinja2 import Markup
from flask import flash, url_for, redirect, request, current_app
from flask_admin.base import expose
from flask_admin.model.template import EndpointLinkRowAction, LinkRowAction
from flask_wtf import FlaskForm
from sqlalchemy import func
from wtforms import SelectMultipleField, ValidationError
from wtforms.validators import DataRequired
from flask_admin.actions import action
from flask_admin.helpers import (get_form_data, validate_form_on_submit,get_redirect_target, flash_errors)
from flask_admin.contrib.sqla import form, filters as sqla_filters, tools
from . import MyModelView
from . import AjaxQueryIndexLike
from adminApp.extensions import db, redis_store


class BroadBandAccountView(MyModelView):
    # column_filters = ('nic_name', 'connection_type', 'ipv4addr', 'netmask', 'gateway', 'dns1', 'dns2',
    #                   'mac', 'link_detected', 'is_mag', 'is_wan', 'created', 'updated')
    #
    # column_list = ('nic_name', 'connection_type', 'ipv4addr', 'netmask', 'gateway', 'dns1', 'dns2',
    #                   'mac', 'link_detected', 'is_mag', 'is_wan', 'updated')
    # column_sortable_list = (
    #     'id', 'name', 'category.name', 'author.name', 'serial_state', 'words', 'last_updated', 'created')

    # column_labels = {
    #     'nic_name': '网卡',
    #     'created': '创建日期',
    #     'updated': '更新日期',
    # }

    column_formatters = dict(
        created=lambda v, c, m, p: m.created.strftime("%Y-%m-%d %H:%M:%S"),
        updated=lambda v, c, m, p: m.updated.strftime("%Y-%m-%d %H:%M:%S") if m.updated else ''
    )